#pragma once

#include <map>
#include "HashedString.h"

class Attribute
{
public:
	enum Type
	{
		VEC1 = 1,
		VEC2,
		VEC3,
		VEC4,
		MATRIX2,
		MATRIX3,
		MATRIX4,
	};
	typedef std::vector<Attribute> Vector_t;
	typedef std::map<HashedString, Attribute> Map_t;
	typedef std::pair<HashedString, Attribute> Pair_t;

	void* location;
	HashedString name;
	Type type;
	unsigned int elements;
};